home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 039a / mawk10.zip / SIZES.H < prev    next >
C/C++ Source or Header  |  1991-10-05  |  2KB  |  93 lines

  1.  
  2. /********************************************
  3. sizes.h
  4. copyright 1991, Michael D. Brennan
  5.  
  6. This is a source file for mawk, an implementation of
  7. the AWK programming language.
  8.  
  9. Mawk is distributed without warranty under the terms of
  10. the GNU General Public License, version 2, 1991.
  11. ********************************************/
  12.  
  13. /* $Log:    sizes.h,v $
  14.  * Revision 3.5.1.1  91/09/14  17:24:19  brennan
  15.  * VERSION 1.0
  16.  * 
  17.  * Revision 3.5  91/08/13  06:52:10  brennan
  18.  * VERSION .9994
  19.  * 
  20.  * Revision 3.4  91/06/28  04:17:38  brennan
  21.  * VERSION 0.999
  22.  * 
  23.  * Revision 3.3  91/06/27  08:16:51  brennan
  24.  * different page size of the main code 
  25.  * bigger loop stacks -- the changes were need to run AWF
  26.  * 
  27.  * Revision 3.2  91/06/13  07:17:05  brennan
  28.  * make sure MAX_SPLIT >= MAX_FIELD
  29.  * 
  30.  * Revision 3.1  91/06/07  10:28:21  brennan
  31.  * VERSION 0.995
  32.  * 
  33.  * Revision 2.4  91/05/30  09:05:09  brennan
  34.  * input buffer can grow dynamically
  35.  * 
  36.  * Revision 2.3  91/05/28  09:05:16  brennan
  37.  * removed main_buff
  38.  * 
  39.  * Revision 2.2  91/05/16  12:20:24  brennan
  40.  * cleanup of machine dependencies
  41.  * 
  42.  * Revision 2.1  91/04/08  08:24:09  brennan
  43.  * VERSION 0.97
  44.  * 
  45. */
  46.  
  47. /*  sizes.h  */
  48.  
  49. #ifndef  SIZES_H
  50. #define  SIZES_H
  51.  
  52. #if    ! HAVE_SMALL_MEMORY
  53. #define EVAL_STACK_SIZE  256  /* limit on recursion */
  54. #define MAX_SPLIT     256  /* maximum pieces from a split */
  55. #define MAX_FIELD     256  /* maximum number of fields */
  56.  
  57. #else  /* have to be frugal with memory */
  58.  
  59. #define EVAL_STACK_SIZE   64
  60. #define MAX_SPLIT     200
  61. #define MAX_FIELD     100
  62.  
  63. #endif  
  64.  
  65. /* make sure MAX_SPLIT >= MAX_FIELD  */
  66. #if    MAX_SPLIT  <  MAX_FIELD
  67. #undef MAX_SPLIT
  68. #define MAX_SPLIT    MAX_FIELD
  69. #endif
  70.  
  71. #define SPRINTF_SZ    (MAX_SPLIT*sizeof(PTR))
  72.  
  73. #define  BUFFSZ        4096
  74.   /* starting buffer size for input files, grows if 
  75.      necessary */
  76.  
  77. #define  HASH_PRIME  53
  78. #define  A_HASH_PRIME 37
  79.  
  80.  
  81. #define  MAX_COMPILE_ERRORS  5 /* quit if more than 4 errors */
  82.  
  83.  
  84. #define  MAX_LOOP_DEPTH   40
  85. /* should never be exceeded, doesn't matter if its too
  86.    big (unless gross) because resources sized by it are freed */
  87.  
  88. /* AWF showed the need for this */
  89. #define  MAIN_PAGE_SZ    4096 /* max instr in main block */
  90. #define  PAGE_SZ    1024  /* max instructions for other blocks */
  91.  
  92. #endif   /* SIZES_H */
  93.